package com.zzyl.mapper;

import com.zzyl.dto.ResourceDto;
import com.zzyl.entity.Resource;
import com.zzyl.vo.MenuVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface ResourceMapper {

    int deleteByPrimaryKey(Long id);

    int insert(Resource record);

    int insertSelective(Resource record);

    Resource selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(Resource record);

    int updateByPrimaryKey(Resource record);

    /**
     * 这是Mybatis Generator拓展插件生成的方法(请勿删除).
     * This method corresponds to the database table sys_resource
     *
     * @mbg.generated
     * @author hewei
     */
    int batchInsert(@Param("list") List<Resource> list);

    List<Resource> getResourceList(ResourceDto resourceDto);

    int getParentStatus(String parentResourceNo);

    void updateStatus(@Param("dataState") char dataState,
                      @Param("processedNo") String processedNo);

    /**
     * 根据节点返回属性
     * @param parentResourceNo
     * @return
     */
    Resource getResourceByNo(@Param("resourceNo") String resourceNo);

    /**
     * 判断节点是否有子节点
     * @param resourceNo
     * @return
     */
    int IsChildren(@Param("resourceNo") String resourceNo);

    /**
     *
     * @param processed
     */
    void deleteByResourceNo(@Param("resourceNo") String resourceNo);

    int IsRole(@Param("resourceNo") String resourceNo);

    List<String> findResourceVoListByUserId(Long id);

    List<MenuVo> getUserResource(Long userId);
}